package com.itheima.validation;

import com.itheima.anno.State;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

/**
 * 功能：对Article对象中的state元素进行自定义注解校验
 * 需要添加上@State注解，在anno文件夹中的文件使用的注解连接到这个文件夹
 * 这个文件给出具体的校验过程
 * <给那个注解提供校验规则，校验的数据类型>
 * 作者：大风
 * 日期：2024/10/21 10:23
 */
public class StateValidation implements ConstraintValidator<State,String> {

    /**
     * @param value 将来要校验的数据
     * @param context
     * @return  如果返回false，则校验不通过，如果返回true，则校验通过
     */
    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        //提供校验规则
        if (value == null){
            return false;
        }

        if(value.equals("已发布") || value.equals("草稿")) {
            return true;
        }
        return false;
    }
}
